/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package clases;

import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

/**
 *
 * @author root
 */
public class Unidad extends Root {
    

    /**
     * Constructor de la clase unidad.
     */
    public Unidad() {
    }
    
    public String codigo;
    public String descripcion;
    private ArrayList<Usuario> representantes;
    private ArrayList<Categoria> categorias;

   
    /**
     * Constructor del objeto Unidad.
     * @param cod
     * @param desc
     * @param rep
     */
    public Unidad(String cod,String desc,ArrayList<Usuario> rep){
         this.codigo=cod;
         this.descripcion=desc;
         this.representantes=rep;        
    }


    /**
     * Getter de la variable Codigo
     * 
     * @return Codigo de la unidad.
     */
    public String getCodigo() {
        return codigo;
    }

    /**
     * Setter de la variable Codigo.
     * 
     * @param codigo 
     */
    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    /**
     * Getter de la variable Descripcion.
     * 
     * @return Nombre de una unidad.
     */
    public String getDescripcion() {
        return descripcion;
    }

    /**
     * Setter de la variable Descripcion.
     * 
     * @param descripcion 
     */
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }
    
    /**
     * Getter del atributo representantes.
     * @return Lista de representantes de cierta unidad.
     */
    public ArrayList<Usuario> getRepresentantes() {
        return representantes;
    }
    
    /**
     * Setter del atributo representantes.
     * @param representantes
     */
    public void setRepresentantes(ArrayList<Usuario> representantes) {
        this.representantes = representantes;
    }
    
    /**
     * Getter de la lista de categorias
     * @return Lista de Categorias obtenida.
     */
    public ArrayList<Categoria> getCategorias() {
        return categorias;
    }

    /**
     * Setter de la lista de Categorias.
     * @param categorias lista de categorias a agregar.
     */
    public void setCategorias(ArrayList<Categoria> categorias) {
        this.categorias = categorias;
    }
    

 
    @Override
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
        ActionErrors errors = new ActionErrors();
        if (this.codigo == null ||  this.codigo.length() < 1) {
            errors.add("codigo", new ActionMessage("errors.codigo.requerido"));
        }
        if (this.descripcion == null || this.descripcion.length() < 1) {
            errors.add("descripcion", new ActionMessage("errors.descripcion.requerido"));
        }
        return errors;
    }
}
